package com.ourteam.system.service;

/**
 * Template Name : 服务对象接口
 * Template Version : 1
 * Template Last Modfiy Date : Mon Nov 06 10:52:53 CST 2017
 * Auto Generate Date : 2018-07-20 12:04:36
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface ISysDepartmentService {
    /**
    *
    
    * @param com.ourteam.system.domain.SystemDepartmentBean
    
         * @throws Exception
         */
    void addNewSystemDepartment(
        final com.ourteam.system.domain.SystemDepartmentBean aSystemDepartment)
        throws Exception;

    /**
    *
    
    * @param com.ourteam.system.domain.SystemDepartmentBean
    
         * @throws Exception
         */
    void modifySystemDepartment(
        final com.ourteam.system.domain.SystemDepartmentBean aSystemDepartment)
        throws Exception;

    /**
    *
    
    * @param long
    
         * @throws Exception
         */
    com.ourteam.system.domain.SystemDepartmentBean getSystemDepartmentById(
        final long aSystemDepartmentId) throws Exception;

    /**
    *
    
    * @param long
    
    * @param long
    
         * @throws Exception
         */
    void deleteSystemDepartments(final long[] aSystemDepartmentIds,
        final long operatorId) throws Exception;

    /**
    *
    
    * @param com.ourteam.system.dao.SysDepartmentDAOQueryBean
    
         * @throws Exception
         */
    com.ourteam.system.domain.SystemDepartmentBean[] querySystemDepartments(
        final com.ourteam.system.dao.SysDepartmentDAOQueryBean queryBean)
        throws Exception;

    /**
    *
    
    * @param com.ourteam.system.dao.SysDepartmentDAOQueryBean
    
         * @throws Exception
         */
    int querySystemDepartmentCount(
        final com.ourteam.system.dao.SysDepartmentDAOQueryBean queryBean)
        throws Exception;

    /**
    *
    
    * @param com.ourteam.system.domain.SystemUserDepartmentRelateBean
    
         * @throws Exception
         */
    void setSystemUserDepartment(
        final com.ourteam.system.domain.SystemUserDepartmentRelateBean aSystemUserDepartment)
        throws Exception;

    /**
    *
    
    * @param long
    
         * @throws Exception
         */
    com.ourteam.system.domain.SystemUserDepartmentRelateBean getSystemUserDepartmentById(
        final long aSystemUserDepartmentId) throws Exception;

    /**
    *
    
    * @param com.ourteam.system.dao.SysUserDepartmentRelateDAOQueryBean
    
         * @throws Exception
         */
    com.ourteam.system.domain.SystemUserDepartmentRelateBean[] querySystemUserDepartments(
        final com.ourteam.system.dao.SysUserDepartmentRelateDAOQueryBean queryBean)
        throws Exception;

    /**
    *
    
    * @param com.ourteam.system.dao.SysUserDepartmentRelateDAOQueryBean
    
         * @throws Exception
         */
    int querySystemUserDepartmentCount(
        final com.ourteam.system.dao.SysUserDepartmentRelateDAOQueryBean queryBean)
        throws Exception;

    /**
    *
    
    * @param long
    
         * @throws Exception
         */
    void deleteSystemUserDepartments(final long[] aSystemUserDepartmentIds)
        throws Exception;

    /**
    *
    
    * @param long
    
    * @param int
    
    * @param long
    
         * @throws Exception
         */
    void setSystemDepartmentSortIndex(final long aDepId, final int sortIndex,
        final long operatorId) throws Exception;

    /**
    *
    
    * @param long
    
         * @throws Exception
         */
    int getMaxSystemDepartmentSortIndex(final long aParentId)
        throws Exception;
}
